昨天我們看了 1994 ~ 2011 為止的 CI/CD Pipeline 部分歷史事件,今天會接續昨天的內容,繼續聊下去。
昨天我們提到,在 1999 之後,開始有 CI Pipeline 會用到的各種技術與工具的出現,像是「虛擬化技術」的龍頭之一 VMware 在 1999 年出現,現今工程師必備的 Git 在 2005 出現,而 Jenkins 老爺爺在 2011 出現,但老爺爺的前身 Huden 其實在 2005 就出現了。
另外暨 2007 年《Continuous integration》出版後,僅隔 3 年的時間,通常被稱為是 CI 下一步的 CD 持續交付,在 2010 年《Continuous delivery》同名書籍出版上市。
從這些事件來看,大致上我們可以說到了 2011 年,CI / CD Pipeline 算是發展到了一定的程度,我們就姑且稱這個時代的 CI/CD Pipeline 為第 1 代的 CI/CD Pipeline 吧!
在那個時空背景之下,你覺得第 1 代的 CI/CD Pipeline 會是一個什麼樣的面貌呢?
會是某種集中式的 CI service + build server,是 Jenkins 直接以 ssh 或 agent 在目標 VM 上執行各種自動化腳本,或者是每天晚上都固定會跑 Daily build?以及哪些情境呢?
在這個時代,CI/CD Pipeline 內含哪些 Job 呢?以及團隊運用 CI/CD Pipeline 最主要想要解決的問題是什麼呢?
是 Auto build 確保程式一定能正常編譯?Auto testing 確保程式最基本的品質?Auto Release 讓程式能有標準的交付流程?還是?
另外,在那個時代,要實踐 CI/CD Pipeline 會遇到的阻礙又是哪些呢?
是電腦的運算資源?虛擬化技術在運用上仍不夠具備靈活性?開發人員尚不夠認識何為CI/CD?人工與自動化兩種做事方式正在相互打架?或是其他?
如同筆者在前幾篇文章介紹 DevOps 歷史時提過的,DevOps 老爸 Patrick 說 2009 是 DevOps 的啟蒙年代,那也正是 CI/CD Pipeline 的啟蒙年代,思維與工具正在並肩的向前進步及演化,第 1 代的 CI/CD Pipeline 在當年想必是一項最新最潮的軟工技術與工具,幫助那個年代的軟體開發者們度過了無數次交付程式的夜晚~
針對第 1 代的 CI/CD Pipeline 我們就聊到這裡打住吧!明天我們會繼續推進這段歷史,聊一聊下一代的 CI/CD Pipeline。